@0x986b3393db1396c9;

struct Point {
    x @0 :Float32;
    y @1 :Float32;
}

struct Cat {
    name @0: Text;
    age @1: UInt8;
    color @2: Text;
    cuteness @3: Float32;
    addresses@4: List(Address);

    struct Address {
        street @0: Text;
        number @1: UInt8;
        postalcode @2: UInt16;
    }

    image @5: Data;
}

interface PointTracker {
    addPoint @0 (p :Point) -> (totalPoints :UInt64);
}